﻿using System;
using System.Collections.Generic;
using EHSubmit.Model;

namespace EHSubmit.Logic.Relationship
{
    /// <summary>
    /// 管理学生、教师、课程、作业关系
    /// </summary>
    public interface IRelationshipManager
    {
        /// <summary>
        /// 根据学生ID返回该生所需交的作业信息
        /// </summary>
        /// <param name="sid">学生ID</param>
        /// <returns>作业信息</returns>
        IList<Goal> GetGoalsOfStudent(string sid);

        /// <summary>
        /// 根据教师ID返回该教师所授的课程信息
        /// </summary>
        /// <param name="tid">教师ID</param>
        /// <returns>课程信息</returns>
        IList<Course> GetCoursesOfTeacher(string tid);

        /// <summary>
        /// 根据教师ID,返回该教师所授的课程类型
        /// </summary>
        /// <param name="tid">教师ID</param>
        /// <returns>授课信息,不是课程班级</returns>
        IList<BaseCourse> GetBaseCourseOfTeacher(string tid);

        /// <summary>
        /// 根据课程ID返回选了该课程的学生信息
        /// </summary>
        /// <param name="cid">学生信息</param>
        /// <returns>学生信息</returns>
        IList<User> GetStudentsOfCourse(string cid);

        /// <summary>
        /// 根据学生ID，返回该学生的选课信息
        /// </summary>
        /// <param name="sid">学生ID</param>
        /// <returns>选课信息</returns>
        IList<Course> GetCoursesOfStudent(string sid);

    }
}